其他
使用cntext训练Glove词嵌入模型
近期活动
Glove官方用于训练词嵌入模型的代码是C语言,虽然速度极快,但对于小白文科生而言,可理解易上手是更重要的。相比word2vec, Glove训练出的词向量模型,能够更多的保留语义的全局性信息。对于词嵌入(词向量)不太熟悉,可以阅读
使用Python的mittens库实现Glove,对于小规模数据的训练。
例如6M的brown_corpus.txt,设定模型维度50, 迭代25次, 耗时175.98s。
import cntext as ct
import os
model = ct.Glove(cwd=os.getcwd(), lang='english')
model.create_vocab(file='data/brown_corpus.txt', min_count=5)
model.cooccurrence_matrix()
model.train_embeddings(vector_size=50, max_iter=25)
model.save()
Run
Step 1/4: ...Create vocabulary for Glove.
Step 2/4: ...Create cooccurrence matrix.
Step 3/4: ...Train glove embeddings.
Note, this part takes a long time to run
Step 3/4: ... Finish! Use 175.98 s
生成的Glove词嵌入文件位于output/Glove
。
训练好的词嵌入模型使用方法,可参照 影评实战 | 探索词向量妙处
代码数据下载获取,请点击阅读原文